﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ViewMaker.Core
{
    /// <summary>
    /// ViewLayout生成サービスを制御する
    /// </summary>
    [Flags]
    public enum LayoutGenerateFlag
    {
        None            = 0,

        /// <summary>
        /// IViewLayoutGeneratorProviderを利用して生成する
        /// </summary>
        Provider        = 1,
        /// <summary>
        /// ViewLayoutGeneratorProviderAttributeで指定された処理を利用して生成する
        /// </summary>
        StaticProvider  = 2,
        /// <summary>
        /// 永続化されている情報を利用して生成する
        /// </summary>
        LayoutData      = 4,
        /// <summary>
        /// リソースファイルで指定された情報を利用して生成する
        /// </summary>
        Resource        = 8,
        /// <summary>
        /// ViewModelの型から生成する
        /// </summary>
        TypeInfo        = 16,
        /// <summary>
        /// IViewLayoutGeneratorProvider時にエラーが発生して場合無視する
        /// </summary>
        SkipLoadError   = 0x00001000,   //自動的にロードエラーをスキップする
        /// <summary>
        /// 上記組み合わせ
        /// </summary>
        All             = 0x0000ffff,
        /// <summary>
        /// TypeInfo時にName属性を生成しないようにする
        /// </summary>
        WithoutName     = 0x00010000,   //
    }
}
